There are many known controllers for affecting the control of a process, system, function, or the like (hereinafter, process). Examples of such controllers or control methodologies are Dynamic Matrix Control, Model Algorithmic Control, IDCOM, QDMC and others. While these controllers may provide effective control of a process, they tend to be difficult to implement and to tune for effective control of the process. These difficulties increase dramatically as the complexity of the system and the number of process variables to be controlled increases.
Typically a process may be thought of as having certain outputs, called process variables, and one or more ways of controlling the elements that produce this output, called control efforts. For example, in a heat exchanger system having two steam inputs to control the production of heated water, the temperature of the heated water is the process variable and the steam inputs are the control efforts.
Conventional methods of controlling a process having a number of process variables take the aggregate approach of controlling all of the process variables through the multiple control efforts as one interrelated, combined function. In order to effectively control the process variables through the multiple control efforts without undesirable overshoot of the process variables or system instability, the aggregate control system must be tuned at once as one function. As the complexity of the system or process grows, the tuning of the controller becomes inordinately complicated and the actual functioning of the controller becomes increasingly computationally intensive; often to the point that the system response must be slowed to accomplish the task.
It would be desirable to provide a method of controlling a process that is easy to implement and tune, and that could provide fast and effective control of the process.